package com.dd.cloud.user.entity.agent;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author Lx
 * @version 1.0
 */
@Data
@EqualsAndHashCode
@Accessors(chain = true)
@Table(comment = "代理商表")
public class Agent implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 代理商表
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Column(isKey = true, isAutoIncrement = true)
    private Integer id;

    /**
     * 代理商名称
     */
    @Column(length = 20, comment = "代理商名称")
    private String name;

    /**
     * 性别
     */
    @Column(length = 1, comment = "性别")
    private String sex;

    /**
     * 年龄
     */
    @Column(length = 3, comment = "年龄")
    private Integer age;

    /**
     * 联系电话
     */
    @Column(length = 20, comment = "联系电话")
    private String contactTel;

    /**
     * 手机号
     */
    @Column(length = 11, comment = "手机号")
    private String phoneNum;

    /**
     * 职位
     */
    @Column(length = 30, comment = "职位")
    private String position;

    /**
     * 身份证号
     */
    @Column(length = 18, comment = "身份证号")
    private String idCard;

    /**
     * 身份证正面
     */
    @Column(length = 128, comment = "身份证正面")
    private String idCardFront;

    /**
     * 身份证背面
     */
    @Column(length = 128, comment = "身份证背面")
    private String idCardBack;

    /**
     * 单位名称
     */
    @Column(length = 30, comment = "单位名称")
    private String companyName;

    /**
     * 省份
     */
    @Column(length = 20, comment = "省份")
    private String province;

    /**
     * 城市
     */
    @Column(length = 20, comment = "城市")
    private String city;

    /**
     * 区县
     */
    @Column(length = 20, comment = "区县")
    private String district;

    /**
     * 详细地址
     */
    @Column(length = 30, comment = "详细地址")
    private String addr;

    /**
     * 税号
     */
    @Column(length = 30, comment = "税号")
    private String taxNo;

    /**
     * 营业执照
     */
    @Column(length = 128, comment = "营业执照")
    private String businessLicense;

    /**
     * 邮箱
     */
    @Column(length = 30, comment = "邮箱")
    private String email;

    /**
     * 备注
     */
    @Column(length = 500, comment = "备注")
    private String remark;

    /**
     * 邀请码
     */
    @Column(length = 6, comment = "邀请码")
    private String inviteCode;

    /**
     * 类型 1个人 2公司
     */
    @Column(length = 4, comment = "类型 1个人 2公司")
    private Integer type;

    /**
     * 状态
     */
    @Column(length = 1, comment = "状态")
    private Integer status;

    /**
     * 操作人id
     */
    @Column(comment = "操作人id")
    private Integer operId;

    /**
     * 操作人名称
     */
    @Column(length = 20, comment = "操作人名称")
    private String operName;

    /**
     * 创建时间
     */
    @Column(comment = "创建时间")
    private LocalDateTime createDate;

    /**
     * 修改时间
     */
    @Column(comment = "修改时间")
    private LocalDateTime updateDate;

    /**
     * 注销操作人id
     */
    @Column(comment = "注销操作人id")
    private Integer logOfId;

    /**
     * 注销操作人称
     */
    @Column(length = 20, comment = "注销操作人称")
    private String logOfName;
}
